﻿using Core.Writer;

namespace Core.Entities
{
    /// <summary>
    /// 系统命令接口。
    /// 注意：系统执行命令只构造一个实例，所以不要在实例中保存业务内容。
    /// </summary>
    public interface ISystemCommand
    {
        /// <summary>
        /// 系统命令名称
        /// </summary>
        string Name { get; }
        /// <summary>
        /// 命令执行过程
        /// </summary>
        /// <param name="Process">基础处理器</param>
        /// <param name="CommandInfo">命令信息</param>
        /// <param name="Writer">数据写入器</param>
        void Process(BaseProcess Process, CommandInfo CommandInfo, IDataWriter Writer);
    }
}